# SessionsController 控制器处理用户会话相关操作，如登录和登出
class SessionsController < ApplicationController
  # 指定登录和注册页面的布局
  layout "admin/login"


  def index
    render json: {
      status: 0,
      message: "登录成功",
      data: {
        user: @current_user
      }
    }
  end
  # new 动作显示登录表单

  # create 动作处理登录请求
  # 通过用户名和密码验证用户身份
  def create
    # 尝试根据用户名查找用户
    @user = User.find_by(username: params[:username])
    # 如果用户存在且密码验证通过，则创建会话
    if @user
      render json: {
        status: 0,
        message: "登录成功",
        data: {
          user: @user
        }
      }
      # signin_user @user
      # redirect_to admin_root_path
    else
      # 如果验证失败，显示错误消息并重定向到登录页面
      render json: {
        status: "error",
        msg: "用户名或密码不正确"
      }
    end
  end


  # destroy 动作处理用户登出
  # 通过清除会话信息来结束当前用户的会话
  def destroy
    logout_user
    flash[:notice] = "退出成功"
    redirect_to login_path
  end

end
